{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "77e71534",
   "metadata": {},
   "source": [
    "------------------------------------------------------\n",
    "\n",
    "* 日期：2022-09-21|week05\n",
    "* 课程：python\n",
    "* 记录人：lin\n",
    "\n",
    "-------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bbb6b231",
   "metadata": {},
   "source": [
    "# 本周学习内容\n",
    "> 1.数值（number）\n",
    ">>定义\n",
    ">>方法\n",
    "\n",
    "> 2.字符串（string）\n",
    ">>定义\n",
    ">>方法"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "82b2c62c",
   "metadata": {},
   "source": [
    "## 1.数值\n",
    "\n",
    "\n",
    ">1.对数值进行分类\n",
    ">>1.整数（int）\n",
    ">>2.浮点数（float）\n",
    ">>3.复数（complex）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "74ccdf4e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "99 <class 'int'>\n"
     ]
    }
   ],
   "source": [
    "# 整形\n",
    "a=99\n",
    "print(a,type(a))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "502fe79b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "99.9 <class 'float'>\n"
     ]
    }
   ],
   "source": [
    "# 浮点型\n",
    "b=99.9\n",
    "print(b,type(b))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "4d1ee853",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "198.9 <class 'float'>\n"
     ]
    }
   ],
   "source": [
    "c=a+b\n",
    "print(c,type(c))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "85ab5a5c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2+3j) <class 'complex'>\n"
     ]
    }
   ],
   "source": [
    "# 复数(虚数)\n",
    "d=2+3j\n",
    "print(d,type(d))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "332c80cf",
   "metadata": {},
   "source": [
    "## 2.字符串（str）\n",
    "\n",
    ">1.定义 \n",
    "\n",
    ">2.方法 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "39ffdafc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Alex <class 'str'>\n"
     ]
    }
   ],
   "source": [
    "name=\"Alex\"\n",
    "print(name,type(name))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "5ebd9f38",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "can't multiply sequence by non-int of type 'str'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "Input \u001b[1;32mIn [16]\u001b[0m, in \u001b[0;36m<cell line: 3>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m a\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m18\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m      2\u001b[0m b\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m22\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m----> 3\u001b[0m \u001b[43ma\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mb\u001b[49m\n",
      "\u001b[1;31mTypeError\u001b[0m: can't multiply sequence by non-int of type 'str'"
     ]
    }
   ],
   "source": [
    "a='18'\n",
    "b='22'\n",
    "a*b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "c587b07a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "18 18\n",
      "<class 'int'> <class 'str'>\n"
     ]
    }
   ],
   "source": [
    "a=18\n",
    "b='18'\n",
    "print(a,b)\n",
    "print(type(a),type(b))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "c07c2e92",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid syntax (3216694480.py, line 2)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  Input \u001b[1;32mIn [9]\u001b[1;36m\u001b[0m\n\u001b[1;33m    'doesn't'\u001b[0m\n\u001b[1;37m           ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
     ]
    }
   ],
   "source": [
    "# 关于单引号和双引号\n",
    "'doesn't'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "0b6e5397",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"doesn't\""
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 解决方案1\n",
    "\"doesn't\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "158f3475",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"doesn't\""
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 解决方案2  \\后面的内容是“符号，转义，\\自动消失\n",
    "'doesn\\'t'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "1d4bf218",
   "metadata": {},
   "outputs": [],
   "source": [
    "# *正则表达式，有兴趣的同学可以自学"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "114cfef4",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "EOL while scanning string literal (2693316446.py, line 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  Input \u001b[1;32mIn [13]\u001b[1;36m\u001b[0m\n\u001b[1;33m    \"hello\u001b[0m\n\u001b[1;37m          ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m EOL while scanning string literal\n"
     ]
    }
   ],
   "source": [
    "\"hello\n",
    "world\n",
    "\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "7009a534",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid syntax (2058697342.py, line 5)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  Input \u001b[1;32mIn [19]\u001b[1;36m\u001b[0m\n\u001b[1;33m    NFU_招投标_HTML=\u001b[0m\n\u001b[1;37m                 ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
     ]
    }
   ],
   "source": [
    "# 三个引号，可以包含任何文本\n",
    "# 作用：\n",
    "# 1.保持原数据的结果，包含符号，换行等：\n",
    "# 2.可用来做代码数据：\n",
    "NFU_招投标_HTML=\n",
    "(这里粘贴复制过来的代码)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "dae2254b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "print(NFU_招投标_HTML)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e8bcd695",
   "metadata": {},
   "source": [
    "### 2.1字符串的运算法则\n",
    "\n",
    "\n",
    ">1.字符串的拼接\n",
    "\n",
    "\n",
    ">2.<font color=\"red\">字符串的有序性</font>\n",
    " >> 取值 \n",
    " >> 切片 \n",
    "\n",
    ">3. enumerate:枚举\n",
    "\n",
    ">4.in可以查询成员对象是否存在"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "84e0339c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'helloworld'"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 字符串的拼接\n",
    "\"hello\"+\"world\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "4934020b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "你好，Alex\n",
      "你好，Marry\n"
     ]
    }
   ],
   "source": [
    "# 实践\n",
    "text=\"你好，\"\n",
    "for i in [\"Alex\",\"Marry\"]:\n",
    "    result=text+i\n",
    "    print(result)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7b715cfd",
   "metadata": {},
   "source": [
    "* 取值：\n",
    "\n",
    "> 取单个值\n",
    "\n",
    "> 切片，取多个连续的值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "cf85554a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 字符串的有序性\n",
    "地址=\"广州市从化区温泉大道882号广州南方学院\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "dae5717a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广'"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "8377f27b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'州'"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "b457e7a4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'院'"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "f57ff8c2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广州'"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[0:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "8a003336",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'从化区'"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[3:6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "101e70db",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "存在 广州 这个文本\n",
      "存在 广州 这个文本\n"
     ]
    }
   ],
   "source": [
    "# 实践：请检查 广州是否在 地址 里面?\n",
    "# 检查i是否是广，然后判断i[index+1]下一个索引值的内容是否是州\n",
    "\n",
    "#方法：enumerate:枚举\n",
    "for index,value in enumerate(地址):\n",
    "    if value ==\"广\":\n",
    "        if 地址[index+1] ==\"州\":\n",
    "            print(\"存在 广州 这个文本\")\n",
    " "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "39d7989b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True\n",
      "False\n"
     ]
    }
   ],
   "source": [
    "# 方法： in 可以查询成员变量的\n",
    "print(\"广州\"in 地址)\n",
    "print(\"Alex\"in 地址)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "f57bbec7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Alex\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  回去课后学习[字符串方法](https；//docs.python.org/3/library/stdtypes.html#string-methods):\n",
    "## 1. 首字母变大写\n",
    "## 2. 检查字符出现的次数\n",
    "print(\"alex\".capitalize())\n",
    "地址.count(\"广州\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
